visibility-decoration. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114545 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/initializer_list b/include/initializer_list index 671aa27..16ffccc 100644 --- a/include/initializer_list +++ b/include/initializer_list 
@@ -52,7 +52,7 @@  {    template<class _E> -class initializer_list +class _LIBCPP_VISIBLE initializer_list  {  const _E* __begin_;  size_t __size_; 
diff --git a/include/iomanip b/include/iomanip index 3efce13..020180f 100644 --- a/include/iomanip +++ b/include/iomanip 
@@ -43,10 +43,12 @@  {  ios_base::fmtflags __mask_;  public: + _LIBCPP_INLINE_VISIBILITY  explicit __iom_t1(ios_base::fmtflags __m) : __mask_(__m) {}    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_istream<_CharT, _Traits>&  operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t1& __x)  { @@ -56,6 +58,7 @@    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_ostream<_CharT, _Traits>&  operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t1& __x)  { @@ -77,10 +80,12 @@  {  ios_base::fmtflags __mask_;  public: + _LIBCPP_INLINE_VISIBILITY  explicit __iom_t2(ios_base::fmtflags __m) : __mask_(__m) {}    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_istream<_CharT, _Traits>&  operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t2& __x)  { @@ -90,6 +95,7 @@    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_ostream<_CharT, _Traits>&  operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t2& __x)  { @@ -111,10 +117,12 @@  {  int __base_;  public: + _LIBCPP_INLINE_VISIBILITY  explicit __iom_t3(int __b) : __base_(__b) {}    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_istream<_CharT, _Traits>&  operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t3& __x)  { @@ -127,6 +135,7 @@    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_ostream<_CharT, _Traits>&  operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t3& __x)  { @@ -152,10 +161,12 @@  {  _CharT __fill_;  public: + _LIBCPP_INLINE_VISIBILITY  explicit __iom_t4(_CharT __c) : __fill_(__c) {}    template <class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_ostream<_CharT, _Traits>&  operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t4& __x)  { @@ -178,10 +189,12 @@  {  int __n_;  public: + _LIBCPP_INLINE_VISIBILITY  explicit __iom_t5(int __n) : __n_(__n) {}    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_istream<_CharT, _Traits>&  operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t5& __x)  { @@ -191,6 +204,7 @@    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_ostream<_CharT, _Traits>&  operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t5& __x)  { @@ -212,10 +226,12 @@  {  int __n_;  public: + _LIBCPP_INLINE_VISIBILITY  explicit __iom_t6(int __n) : __n_(__n) {}    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_istream<_CharT, _Traits>&  operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t6& __x)  { @@ -225,6 +241,7 @@    template <class _CharT, class _Traits>  friend + _LIBCPP_INLINE_VISIBILITY  basic_ostream<_CharT, _Traits>&  operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t6& __x)  { @@ -254,6 +271,7 @@  _MoneyT& __mon_;  bool __intl_;  public: + _LIBCPP_INLINE_VISIBILITY  __iom_t7(_MoneyT& __mon, bool __intl)  : __mon_(__mon), __intl_(__intl) {}   @@ -313,6 +331,7 @@  const _MoneyT& __mon_;  bool __intl_;  public: + _LIBCPP_INLINE_VISIBILITY  __iom_t8(const _MoneyT& __mon, bool __intl)  : __mon_(__mon), __intl_(__intl) {}   @@ -371,6 +390,7 @@  tm* __tm_;  const _CharT* __fmt_;  public: + _LIBCPP_INLINE_VISIBILITY  __iom_t9(tm* __tm, const _CharT* __fmt)  : __tm_(__tm), __fmt_(__fmt) {}   @@ -431,6 +451,7 @@  const tm* __tm_;  const _CharT* __fmt_;  public: + _LIBCPP_INLINE_VISIBILITY  __iom_t10(const tm* __tm, const _CharT* __fmt)  : __tm_(__tm), __fmt_(__fmt) {}   
diff --git a/include/ios b/include/ios index 561c351..76439ac 100644 --- a/include/ios +++ b/include/ios 
@@ -222,7 +222,7 @@    typedef ptrdiff_t streamsize;   -class ios_base +class _LIBCPP_VISIBLE ios_base  {  public:  class failure; @@ -323,6 +323,7 @@  void __set_failbit_and_consider_rethrow();    protected: + _LIBCPP_INLINE_VISIBILITY  ios_base() {// purposefully does no initialization  }   @@ -370,7 +371,7 @@  };    //enum class io_errc -struct io_errc +struct _LIBCPP_VISIBLE io_errc  {  enum _ {  stream = 1 @@ -381,9 +382,12 @@  _LIBCPP_ALWAYS_INLINE operator int() const {return __v_;}  };   -template <> struct is_error_code_enum<io_errc> : public true_type { }; -template <> struct is_error_code_enum<io_errc::_> : public true_type { }; +template <> +struct _LIBCPP_VISIBLE is_error_code_enum<io_errc> : public true_type { }; +template <> +struct _LIBCPP_VISIBLE is_error_code_enum<io_errc::_> : public true_type { };   +_LIBCPP_VISIBLE  const error_category& iostream_category();    inline _LIBCPP_INLINE_VISIBILITY @@ -400,7 +404,7 @@  return error_condition(static_cast<int>(__e), iostream_category());  }   -class ios_base::failure +class _LIBCPP_EXCEPTION_ABI ios_base::failure  : public system_error  {  public: @@ -409,7 +413,7 @@  virtual ~failure() throw();  };   -class ios_base::Init +class _LIBCPP_VISIBLE ios_base::Init  {  public:  Init(); @@ -556,7 +560,7 @@  }    template <class _CharT, class _Traits> -class basic_ios +class _LIBCPP_VISIBLE basic_ios  : public ios_base  {  public: @@ -604,12 +608,14 @@  char_type widen(char __c) const;    protected: + _LIBCPP_ALWAYS_INLINE  basic_ios() {// purposefully does no initialization  }  void init(basic_streambuf<char_type, traits_type>* __sb);    void move(basic_ios& __rhs);  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_ALWAYS_INLINE  void move(basic_ios&& __rhs) {move(__rhs);}  #endif  void swap(basic_ios& __rhs); 
diff --git a/include/istream b/include/istream index d71ec55..b96b6a3 100644 --- a/include/istream +++ b/include/istream 
@@ -160,7 +160,7 @@  _LIBCPP_BEGIN_NAMESPACE_STD    template <class _CharT, class _Traits> -class basic_istream +class _LIBCPP_VISIBLE basic_istream  : virtual public basic_ios<_CharT, _Traits>  {  streamsize __gc_; @@ -211,6 +211,7 @@  basic_istream& operator>>(void*& __p);    // 27.7.1.3 Unformatted input: + _LIBCPP_INLINE_VISIBILITY  streamsize gcount() const {return __gc_;}  int_type get();  basic_istream& get(char_type& __c); @@ -237,7 +238,7 @@  };    template <class _CharT, class _Traits> -class basic_istream<_CharT, _Traits>::sentry +class _LIBCPP_VISIBLE basic_istream<_CharT, _Traits>::sentry  {  bool __ok_;   @@ -248,6 +249,7 @@  explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);  // ~sentry() = default;   + _LIBCPP_INLINE_VISIBILITY  // explicit  operator bool() const {return __ok_;}  }; @@ -1477,7 +1479,7 @@  #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _CharT, class _Traits> -class basic_iostream +class _LIBCPP_VISIBLE basic_iostream  : public basic_istream<_CharT, _Traits>,  public basic_ostream<_CharT, _Traits>  { @@ -1647,7 +1649,7 @@  }    template<class _CharT, class _Traits, class _Allocator> -inline +inline _LIBCPP_INLINE_VISIBILITY  basic_istream<_CharT, _Traits>&  getline(basic_istream<_CharT, _Traits>& __is,  basic_string<_CharT, _Traits, _Allocator>& __str) @@ -1658,7 +1660,7 @@  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    template<class _CharT, class _Traits, class _Allocator> -inline +inline _LIBCPP_INLINE_VISIBILITY  basic_istream<_CharT, _Traits>&  getline(basic_istream<_CharT, _Traits>&& __is,  basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm) @@ -1667,7 +1669,7 @@  }    template<class _CharT, class _Traits, class _Allocator> -inline +inline _LIBCPP_INLINE_VISIBILITY  basic_istream<_CharT, _Traits>&  getline(basic_istream<_CharT, _Traits>&& __is,  basic_string<_CharT, _Traits, _Allocator>& __str)